package edu.polsl.bio.str.manager.command;

import edu.polsl.bio.str.manager.vo.DotPlotRequest;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 * //todo class description
 * <p/>
 * Created on: Jul 22, 2011 9:17:47 PM <br/>
 * <a href="http://www.polsl.pl">www.polsl.pl</a>
 *
 * @author lukasz.olczak@polsl.pl
 */
public interface JobLoaderCommand extends Command<DotPlotRequest> {
  @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
  void getStrs(DotPlotRequest dotPlotRequest) throws Exception;

  void createJobData() throws Exception;

  void saveJobData() throws Exception;

  @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
  long persistJobs(DotPlotRequest dotPlotRequest) throws Exception;

  void setProxy(JobLoaderCommand proxy);
}
